-
Tags:
ToileDégâts contondantDéplacement -
Name:
aElasticWebCharge
-
Displayed name:
Charge élastique de toile
-
Description:
Vous ancrez un fil de toile dans le sol, bondissez en arrière pour l'étirer, ajustez la tension et l'angle, puis vous relâchez dans une violente charge en ligne droite qui percute toutes les créatures sur votre passage. La charge se déroule sur plusieurs secondes, celle qui la déclenche comprise : | Seconde | Effet | | :---: | :--- | | 1 | Vous ancrez le fil dans le sol et bondissez de 3 m en arrière. | | 2-3 | À chaque seconde, vous reculez de 1 m pour étirer davantage la toile, ou vous vous décalez de 1 m sur le côté pour ajuster votre trajectoire. | | 4 | Vous relâchez la tension et vous propulsez en ligne droite. | | 5 | La charge vous laisse épuisé. | La ligne de dégâts mesure le double de la distance d'étirement. Tant que dure la charge, votre régénération de PA est réduite de 1.
-
Cast description:
| PA: vAP.string | TdR: vCD.strings | | :---: | :---: | | **Flux: vFluxOrCost.string ➞ vFluxCost.string** | **Ligne: vDistance.string** | Sur un test de **vTest.string** réussi **RM vMR.string** [1d20]: Vous ancrez la toile et bondissez de 3 m en arrière. Les 2 secondes suivantes, vous l'étirez de 1 m en arrière ou sur le côté ; à la 4e, vous vous relâchez et infligez vDamage.string [vDamage.string] dégâts contondants à chaque créature sur votre passage. *Chaque créature touchée fait un test de Réflexes ; en cas de réussite, elle ne subit que la moitié des dégâts.*
-
Condition:
assert(character.sFlux.current >= vFluxCost.value, [[Vous n'avez pas assez de Flux.]]) -
AP cost:
1
-
Cooldown:
5
-
Flux cost:
apMod(vAP+3)*cdMod(vCD)*(lineMod(vDistance*2)*puncMod(0,1)*contactMod*autoSave*halfOnSave*effect(vDamage*75,60)+targetMod(1,0)*puncMod(0,1)*selfMod*effect(vDistance*20,30)) -
Variables:
vDistance = NumberVariable([[vDistance]], [[Longueur de la ligne]], [[6]], [[10]], [[2]]) vDistance.valueDisplay.value = [[ self .. " m" ]] vDamage = NumberVariable([[vDamage]], [[Dés de dégâts]], [[1]], [[10]], [[1]]) vDamage.valueDisplay.value = [[ self .. "d10" ]] vTest = ListVariable([[vTest]], [[Test]], {[[character.sVigor]]}, {[[Vigueur]]}) vMR = StatVariable([[vMR]], [[vTest]]) -
On used script:
character.sFlux:changeCurrent(-vFluxCost.value) -
On post script:
if (success) then action.currentCD.value = vCD.value character:addMoveAction("Vous ancrez un fil de toile dans le sol et bondissez de 3 m en arrière.") end -
Type:
1
-
Action effects:
-
Use case:
1
-
Name:
Charge élastique de toile
-
Description:
-
Script:
effect = character:createEffect([[mElasticWebCharge]]) effect.displayName:set([[Charge élastique de toile]]) effect.description:set([[Vous étirez votre toile avant de vous propulser. Votre régénération de PA est réduite de 1 tant que dure la charge, et la seconde qui la suit vous laisse épuisé.]]) effect.duration:set(4) effect.script:set([=[character.sRegenAP:addCurrent([[-100%]], [[action]], modifier.displayName.value)]=]) effect.recurrentScript:set([=[if modifier.duration.value > 2 then character:addMoveAction("Vous étirez la toile : reculez de 1 m pour augmenter la tension, ou décalez-vous de 1 m sur le côté pour ajuster votre trajectoire.") elseif modifier.duration.value == 2 then character:addMoveAction("Vous relâchez la tension et vous propulsez en ligne droite sur le double de votre étirement, en infligeant {{vDamage.string}} dégâts contondants à chaque créature sur votre passage.") else display([[Charge élastique de toile]], [[Votre charge vous a épuisé.]]) end]=]) effect:activate() -
Variables:
-